﻿using System;

namespace FBGraph
{
    /// <summary>Defines a contract for top-level items returned from the Graph API.</summary>
    public interface IFBGraphResult
    {
        /// <summary>Gets or sets a <see cref="Boolean" /> value representing whether the object has been populated.</summary>
        Boolean IsReady { get; set; }

        /// <summary>Updates the current model with values from another like-typed model.</summary>
        /// <param name="other">The source model.</param>
        /// <remarks>This is used for asynchronous calls to update the reference that was returned when the original API method was called.</remarks>
        void UpdateFrom(IFBGraphResult other);
    }
}